home *** CD-ROM | disk | FTP | other *** search
- /* This procedure creates one app object */
- PROC create_app()
-
- DEF app, wi_try, tx_label_0, bt_1stbutton, bt_2ndbutton, bt_3rdbutton
-
- DEF tmp_object : PTR TO obj_app
-
- IF ( tmp_object := New( SIZEOF obj_app ) ) = NIL THEN RETURN NIL
-
- tmp_object.stR_TX_label_0 := '\e8\ecClick on buttons'
-
- app := ApplicationObject,
- MUIA_Application_Author, 'Eric Totel',
- MUIA_Application_Base, 'CLICK',
- MUIA_Application_Title, 'Click',
- MUIA_Application_Version, '$VER : Click 1.0',
- MUIA_Application_Copyright, 'Eric Totel 1994',
- MUIA_Application_Description, 'just a demo !!!',
- SubWindow, wi_try := WindowObject,
- MUIA_Window_Title, 'Click !!!',
- MUIA_Window_ID, MAKE_ID( "0", "W", "I", "N" ),
- WindowContents, GroupObject,
- Child, tx_label_0 := TextObject,
- MUIA_Background, 131,
- MUIA_Text_Contents, tmp_object.stR_TX_label_0,
- MUIA_Text_SetMax, 0,
- MUIA_Text_SetMin, 1,
- MUIA_Frame, 9,
- End,
- Child, GroupObject,
- MUIA_Group_Horiz, MUI_TRUE,
- MUIA_Group_SameWidth, MUI_TRUE,
- Child, bt_1stbutton := KeyButton( 'Button 1', "1" ),
- Child, bt_2ndbutton := KeyButton( 'Button 2', "2" ),
- Child, bt_3rdbutton := KeyButton( 'Button 3', "3" ),
- End,
- End,
- End,
- End
-
- tmp_object.app := app
- tmp_object.wi_try := wi_try
- tmp_object.tx_label_0 := tx_label_0
- tmp_object.bt_1stbutton := bt_1stbutton
- tmp_object.bt_2ndbutton := bt_2ndbutton
- tmp_object.bt_3rdbutton := bt_3rdbutton
-
- IF tmp_object.app = NIL
- Dispose( tmp_object )
- tmp_object := NIL
- ENDIF
-
- ENDPROC tmp_object
-
-
- /* This procedure deletes one app object */
- PROC dispose_app( tmp_object : PTR TO obj_app )
-
- Mui_DisposeObject( tmp_object.app )
- Dispose( tmp_object )
-
- ENDPROC
-
-
- /* DoMethod() function */
- PROC doMethod( obj:PTR TO object, msg:PTR TO msg )
-
- DEF h:PTR TO hook, o:PTR TO object, dispatcher
-
- IF obj
- o := obj-SIZEOF object /* instance data is to negative offset */
- h := o.class
- dispatcher := h.entry /* get dispatcher from hook in iclass */
- MOVEA.L h,A0
- MOVEA.L msg,A1
- MOVEA.L obj,A2 /* probably should use CallHookPkt, but the */
- MOVEA.L dispatcher,A3 /* original code (DoMethodA()) doesn't. */
- JSR (A3) /* call classDispatcher() */
- MOVE.L D0,o
- RETURN o
- ENDIF
-
- ENDPROC NIL
-